Usando js, realizo una solicitud de la que obtengo una respuesta json. Recorro la lista y agrego un div html para cada objeto de la lista. Cada div contiene elementos que muestran un poco de información proveniente de ese objeto (por ejemplo, título, id, información, etc.). También se agrega un botón a esos divs que, cuando se hace clic, debe realizar una solicitud. La URL a la que se debe realizar la solicitud está en el objeto json para ese div. Ver:
#json object for div { "name":"Test1", "id":15, "link":"http://example.com" } #js to make div; object above is stored in obj table = document.getElementById('div-list'); entry = document.createElement("div"); title = document.createElement("div"); title.innerHTML = obj.name; entry.appendChild(title); button = document.createElement("button"); button.innerHTML = 'Click me'; button.addEventListener("click", function() { data = { 'id': [[ obj.id ]] } fetch([[ obj.link ]], { method: 'POST', body: JSON.stringify(data) }) }); entry.appendChild(button); table.appendChild(entry); Puede ver el [[ obj.id|obj.link ]] . Ahí es donde debe ir la información del json. Sin embargo, hacer obj.id u obj.link no funciona porque la función se ejecuta cuando se hace clic, por lo que la variable obj ya no existe. Así que básicamente necesito almacenar el json en el elemento de entry para que cuando se haga clic en el botón pueda obtener su información de alguna parte.
Espero que entiendas lo que quiero decir. ¿Hay alguna forma de permitir que la función de clic de botón acceda a "sus datos" para que determine a dónde enviar su solicitud con qué identificación?